SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

-- =============================================
-- Author:		Marcelo Otero
-- Create date: 01/12/09
-- Description:	Obtener Cuil dado sexo y documento
-- =============================================

-- sexo=1 Masculino  sexo=2 Femenino

CREATE FUNCTION [dbo].[ObtenerCuil]
(
	@sexo int,@documento int

)
RETURNS varchar(11)
AS
BEGIN
	
	DECLARE @cuil varchar(11)
	DECLARE @digsexo varchar(2)
	Declare @i int
	set @i=0
		if (@sexo=1)
	   set @digsexo='20'
	else 
	   set @digsexo='27'

	while @i<10
	 begin
		
		set @cuil=@digsexo+REPLICATE('0', 8 - LEN(@documento)) + CONVERT(VARCHAR ,@documento)+convert(varchar(1),@i)
		
	    if dbo.validacuil(@cuil)=1
	        BREAK
	    set @i=@i+1 
	    if @i=10 
	      begin
	        if @digsexo='23' 
	             set @digsexo='24'      
	        else 
		 set @digsexo='23'     
		set @i=0
	      end
	 end
	      
	     
	     
	     
	   
	RETURN @cuil

END



GO
